1. Create(新增)操作
在ASP.NET Core中,我們可以通過控制器來實現新增資料的功能。以下是一個範例,它展示了如何新增一個學生資料到資料庫中。
public class StudentsController : Controller
{
private readonly AppDbContext _context;
public StudentsController(AppDbContext context)
{
_context = context;
}
[HttpPost]
public IActionResult Create(Student student)
{
if (ModelState.IsValid)
{
_context.Students.Add(student);
_context.SaveChanges();
return RedirectToAction("Index");
}
return View(student);
}
}
在這段程式碼中,我們首先檢查ModelState是否有效。如果資料有效,則通過_context.Students.Add()方法將新的學生資料加入資料庫,並使用_context.SaveChanges()將變更儲存到資料庫中。當資料新增成功後,頁面會跳轉至Index視圖,顯示所有學生資料。
對應的視圖可以使用Razor語法來創建一個表單,讓使用者輸入新的學生資料:
<form asp-action="Create" method="post">
<div>
<label>Name</label>
<input asp-for="Name" />
</div>
<div>
<label>Age</label>
<input asp-for="Age" />
</div>
<button type="submit">Create</button>
</form>
這段HTML表單允許使用者輸入學生的名稱與年齡,並提交表單以創建新資料。
2. Read(讀取)操作
讀取資料的操作同樣由控制器負責。我們可以從資料庫中檢索所有學生資料,並將其傳遞給視圖來顯示:
public IActionResult Index()
{
var students = _context.Students.ToList();
return View(students);
}
這裡的Index方法會從資料庫中取得所有的學生資料,並將資料作為一個列表傳遞給Index視圖進行呈現。對應的視圖則會使用Razor語法來顯示這些資料:
<table>
<thead>
<tr>
<th>Name</th>
<th>Age</th>
</tr>
</thead>
<tbody>
@foreach (var student in Model)
{
<tr>
<td>@student.Name</td>
<td>@student.Age</td>
</tr>
}
</tbody>
</table>
這段HTML表格將學生資料以表格形式顯示出來,每一行對應一個學生的名稱和年齡。
3. 小結
在這篇文章中,我們介紹了如何在ASP.NET Core中實現基本的Create與Read操作。通過控制器與視圖的協作,我們可以輕鬆地將新資料保存到資料庫中,並檢索並顯示現有資料。接下來,我們將深入探討CRUD操作中的Update和Delete,進一步完善資料的管理功能。